package dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Builder
@Schema(name = "CouponAddDTO", title = "新增优惠卷数据模型", description = "新增优惠卷时传递的数据模型")
@Data
public class CouponAddDTO {
    @Schema(description = "优惠卷名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "夏季促销",type = "string")
    private String name;
    @Schema(description = "类型：固定金额/百分比折扣   0固定金额 1百分比'", requiredMode = Schema.RequiredMode.REQUIRED, example = "0",type = "integer")
    private Integer type;
    @Schema(description = "面值（含义由类型决定‘元/折’）", requiredMode = Schema.RequiredMode.REQUIRED, example = "100",type = "number",format = "bigdecimal")
    private BigDecimal value;
    @Schema(description = "发行量（", requiredMode = Schema.RequiredMode.REQUIRED, example = "500",type = "integer")
    private Integer total;
    @Schema(description = "状态（0 未开始,1 进行中,2 已结束）", requiredMode = Schema.RequiredMode.REQUIRED, example = "0",type = "integer")
    private Integer status;
    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10",type = "integer")
    private Integer order;
    @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "夏季促销大甩卖",type = "string")
    private String desc;
    @Schema(description = "最低消费价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "9.9",type = "number",format = "bigdecimal")
    private BigDecimal minPrice;
    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-07-01T12:30:21",type = "string",format = "date-time")
    private LocalDateTime startTime;
    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-07-31T12:30:21",type = "string",format = "date-time")
    private LocalDateTime endTime;

}
